<?php
/****
	简单工厂
****/
//共同接口
Interface Db{
	public function connect();
}

class DbMysql implements Db{
	public function connect(){
		echo '连上了Mysql';
	}
}
class DbSqlite implements Db{
	public function connect(){
		echo '连上了Sqlite';
	}
}

//简单工厂
class Factory{
	public static function getDb($type){
			switch($type){
				case 'mysql':
					return new DbMysql();
				break;
				case 'sqlite':
					return new DbSqlite();
				break;
				default:
					throw new Exception('Error db type',1);
				break;
			}
	}
}

$db = Factory::getDb('mysql');
$db->connect();

//在面向对象设计法则中，重要的开闭原则，对于修改是封闭的，对于扩展是开放的
